The background description provided herein is for the purpose of generally presenting the context of the disclosure. Work of the presently named inventors, to the extent the work is described in this background section, as well as aspects of the description that may not otherwise qualify as prior art at the time of filing, are neither expressly nor impliedly admitted as prior art against the present disclosure.
In information theory and computer science, a code uniquely represents symbols from a source alphabet. The code is formed with encoded strings (e.g., codewords) that may be represented in a target alphabet that is different than the source alphabet. For example, a source alphabet may include alphabetic symbols (e.g., a, b, c). The target alphabet may be comprised of binary symbols (e.g., 0, 1). An encoded string in the target alphabet can be parsed into codewords. The codewords may be decoded back into the source alphabet or a different alphabet. Thus one purpose for decoding data is to put codes back in a language/format that can be understood by a receiving entity. Other reasons for encoding and decoding data may be for standardization, speed, secrecy, security, and/or efficient storage of data.
A decoder, such as an iterative decoder, typically receives a codeword in bursts of transmission that do not allow the decoder enough time to decode the codeword, resulting in a failed codeword. Conventionally, a failure during the decoding of a codeword would cause a decoder to experience a delay. For example, the decoder that receives the codewords from a hard disk drive may be delayed by a full rotation of the disk drive as the system attempts to recover a failed codeword before being able to begin decoding the remaining codewords.